package com.ruoyi.device.service.impl;

import java.util.List;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.device.mapper.TModelbuildgroupMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.device.mapper.TModelfloorgroupMapper;
import com.ruoyi.device.domain.TModelfloorgroup;
import com.ruoyi.device.service.ITModelfloorgroupService;

import static com.ruoyi.common.security.utils.SecurityUtils.getLoginUser;

/**
 * 监控摄像头楼层分组Service业务层处理
 * 
 * @author li
 * @date 2025-09-23
 */
@Service
public class TModelfloorgroupServiceImpl implements ITModelfloorgroupService 
{
    @Autowired
    private TModelfloorgroupMapper tModelfloorgroupMapper;
    /**
     * 查询监控摄像头楼层分组
     * 
     * @param id 监控摄像头楼层分组主键
     * @return 监控摄像头楼层分组
     */
    @Override
    public TModelfloorgroup selectTModelfloorgroupById(String id)
    {
        return tModelfloorgroupMapper.selectTModelfloorgroupById(id);
    }

    /**
     * 查询监控摄像头楼层分组列表
     * 
     * @param tModelfloorgroup 监控摄像头楼层分组
     * @return 监控摄像头楼层分组
     */
    @Override
    public List<TModelfloorgroup> selectTModelfloorgroupList(TModelfloorgroup tModelfloorgroup)
    {
        return tModelfloorgroupMapper.selectTModelfloorgroupList(tModelfloorgroup);
    }

    /**
     * 新增监控摄像头楼层分组
     * 
     * @param tModelfloorgroup 监控摄像头楼层分组
     * @return 结果
     */
    @Override
    public int insertTModelfloorgroup(TModelfloorgroup tModelfloorgroup)
    {
        tModelfloorgroup.setCreateBy(getLoginUser().getUsername());
        tModelfloorgroup.setCreateTime(DateUtils.getNowDate());
        return tModelfloorgroupMapper.insertTModelfloorgroup(tModelfloorgroup);
    }

    /**
     * 修改监控摄像头楼层分组
     * 
     * @param tModelfloorgroup 监控摄像头楼层分组
     * @return 结果
     */
    @Override
    public int updateTModelfloorgroup(TModelfloorgroup tModelfloorgroup)
    {
        tModelfloorgroup.setUpdateBy(getLoginUser().getUsername());
        tModelfloorgroup.setUpdateTime(DateUtils.getNowDate());
        return tModelfloorgroupMapper.updateTModelfloorgroup(tModelfloorgroup);
    }

    /**
     * 批量删除监控摄像头楼层分组
     * 
     * @param ids 需要删除的监控摄像头楼层分组主键
     * @return 结果
     */
    @Override
    public int deleteTModelfloorgroupByIds(String[] ids)
    {
        return tModelfloorgroupMapper.deleteTModelfloorgroupByIds(ids);
    }

    /**
     * 删除监控摄像头楼层分组信息
     * 
     * @param id 监控摄像头楼层分组主键
     * @return 结果
     */
    @Override
    public int deleteTModelfloorgroupById(String id)
    {
        return tModelfloorgroupMapper.deleteTModelfloorgroupById(id);
    }

    @Override
    public List<TModelfloorgroup> getInfoBuildMonitor(Long id) {
        //根据建筑id获取楼层监控组
        TModelfloorgroup tModelfloorgroup = new TModelfloorgroup();
        tModelfloorgroup.setBId(id);
        return tModelfloorgroupMapper.selectTModelfloorgroupList(tModelfloorgroup);
    }
}
